[INFO] fetching crate libdvb 0.3.0...
[INFO] checking libdvb-0.3.0 against master#158f00a1c5175648af6f6099b075f78d1d014a28 for pr-121251
[INFO] extracting crate libdvb 0.3.0 into /workspace/builds/worker-1-tc1/source
[INFO] validating manifest of crates.io crate libdvb 0.3.0 on toolchain 158f00a1c5175648af6f6099b075f78d1d014a28
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate libdvb 0.3.0
[INFO] finished tweaking crates.io crate libdvb 0.3.0
[INFO] tweaked toml for crates.io crate libdvb 0.3.0 written to /workspace/builds/worker-1-tc1/source/Cargo.toml
[INFO] crate crates.io crate libdvb 0.3.0 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded anyhow v1.0.33
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 1868e7b1a815e532f84ef24faf1d94efaf8c73db47a636e617d2260890b739d5
[INFO] running `Command { std: "docker" "start" "-a" "1868e7b1a815e532f84ef24faf1d94efaf8c73db47a636e617d2260890b739d5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "1868e7b1a815e532f84ef24faf1d94efaf8c73db47a636e617d2260890b739d5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1868e7b1a815e532f84ef24faf1d94efaf8c73db47a636e617d2260890b739d5", kill_on_drop: false }`
[INFO] [stdout] 1868e7b1a815e532f84ef24faf1d94efaf8c73db47a636e617d2260890b739d5
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] b191db399725a05c6324e6c4012364750c9404d53426db50e6527114b636130c
[INFO] running `Command { std: "docker" "start" "-a" "b191db399725a05c6324e6c4012364750c9404d53426db50e6527114b636130c", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.79
[INFO] [stderr]    Compiling bitflags v1.2.1
[INFO] [stderr]    Compiling anyhow v1.0.33
[INFO] [stderr]     Checking nix v0.19.1
[INFO] [stderr]     Checking libdvb v0.3.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused variable: `ca`
[INFO] [stdout]   --> src/ca/apdu.rs:20:13
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub fn init(ca: &mut CaDevice, resource_id: u32) -> Result<u16> {
[INFO] [stdout]    |             ^^ help: if this is intentional, prefix it with an underscore: `_ca`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `resource_id`
[INFO] [stdout]   --> src/ca/apdu.rs:20:32
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub fn init(ca: &mut CaDevice, resource_id: u32) -> Result<u16> {
[INFO] [stdout]    |                                ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_resource_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ca`
[INFO] [stdout]   --> src/ca/apdu.rs:26:13
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub fn open(ca: &mut CaDevice, session_id: u16) -> Result<()> {
[INFO] [stdout]    |             ^^ help: if this is intentional, prefix it with an underscore: `_ca`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `session_id`
[INFO] [stdout]   --> src/ca/apdu.rs:26:32
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub fn open(ca: &mut CaDevice, session_id: u16) -> Result<()> {
[INFO] [stdout]    |                                ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_session_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ca`
[INFO] [stdout]   --> src/ca/apdu.rs:32:14
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub fn close(ca: &mut CaDevice, session_id: u16) -> Result<()> {
[INFO] [stdout]    |              ^^ help: if this is intentional, prefix it with an underscore: `_ca`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `session_id`
[INFO] [stdout]   --> src/ca/apdu.rs:32:33
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub fn close(ca: &mut CaDevice, session_id: u16) -> Result<()> {
[INFO] [stdout]    |                                 ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_session_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ca`
[INFO] [stdout]   --> src/ca/apdu.rs:38:15
[INFO] [stdout]    |
[INFO] [stdout] 38 | pub fn handle(ca: &mut CaDevice, session_id: u16, msg: &[u8]) -> Result<()> {
[INFO] [stdout]    |               ^^ help: if this is intentional, prefix it with an underscore: `_ca`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `session_id`
[INFO] [stdout]   --> src/ca/apdu.rs:38:34
[INFO] [stdout]    |
[INFO] [stdout] 38 | pub fn handle(ca: &mut CaDevice, session_id: u16, msg: &[u8]) -> Result<()> {
[INFO] [stdout]    |                                  ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_session_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `msg`
[INFO] [stdout]   --> src/ca/apdu.rs:38:51
[INFO] [stdout]    |
[INFO] [stdout] 38 | pub fn handle(ca: &mut CaDevice, session_id: u16, msg: &[u8]) -> Result<()> {
[INFO] [stdout]    |                                                   ^^^ help: if this is intentional, prefix it with an underscore: `_msg`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ca`
[INFO] [stdout]   --> src/ca/apdu.rs:44:15
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub fn manage(ca: &mut CaDevice, session_id: u16) -> Result<()> {
[INFO] [stdout]    |               ^^ help: if this is intentional, prefix it with an underscore: `_ca`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `session_id`
[INFO] [stdout]   --> src/ca/apdu.rs:44:34
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub fn manage(ca: &mut CaDevice, session_id: u16) -> Result<()> {
[INFO] [stdout]    |                                  ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_session_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/fe/status.rs:214:13
[INFO] [stdout]     |
[INFO] [stdout] 214 |         let mut stats = unsafe { &mut self.props[IDX_SIGNAL_STRENGTH].u.st };
[INFO] [stdout]     |             ----^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/fe/status.rs:259:13
[INFO] [stdout]     |
[INFO] [stdout] 259 |         let mut stats = unsafe { &mut self.props[IDX_SNR].u.st };
[INFO] [stdout]     |             ----^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/fe/status.rs:318:13
[INFO] [stdout]     |
[INFO] [stdout] 318 |         let mut stats = unsafe { &mut self.props[IDX_BER].u.st };
[INFO] [stdout]     |             ----^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/fe/status.rs:339:13
[INFO] [stdout]     |
[INFO] [stdout] 339 |         let mut stats = unsafe { &mut self.props[IDX_UNC].u.st };
[INFO] [stdout]     |             ----^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0793]: reference to packed field is unaligned
[INFO] [stdout]    --> src/fe/sys.rs:637:46
[INFO] [stdout]     |
[INFO] [stdout] 637 |                 s.field(FIELD_DATA, unsafe { &self.u.data });
[INFO] [stdout]     |                                              ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses
[INFO] [stdout]     = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced)
[INFO] [stdout]     = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0793]: reference to packed field is unaligned
[INFO] [stdout]    --> src/fe/sys.rs:641:46
[INFO] [stdout]     |
[INFO] [stdout] 641 |                 s.field(FIELD_DATA, unsafe { &self.u.data });
[INFO] [stdout]     |                                              ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses
[INFO] [stdout]     = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced)
[INFO] [stdout]     = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0793]: reference to packed field is unaligned
[INFO] [stdout]    --> src/fe/sys.rs:645:46
[INFO] [stdout]     |
[INFO] [stdout] 645 |                 s.field(FIELD_DATA, unsafe { &self.u.data });
[INFO] [stdout]     |                                              ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses
[INFO] [stdout]     = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced)
[INFO] [stdout]     = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0793]: reference to packed field is unaligned
[INFO] [stdout]    --> src/fe/sys.rs:649:46
[INFO] [stdout]     |
[INFO] [stdout] 649 |                 s.field(FIELD_DATA, unsafe { &self.u.data });
[INFO] [stdout]     |                                              ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses
[INFO] [stdout]     = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced)
[INFO] [stdout]     = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0793]: reference to packed field is unaligned
[INFO] [stdout]    --> src/fe/sys.rs:653:46
[INFO] [stdout]     |
[INFO] [stdout] 653 |                 s.field(FIELD_DATA, unsafe { &self.u.data });
[INFO] [stdout]     |                                              ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses
[INFO] [stdout]     = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced)
[INFO] [stdout]     = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0793]: reference to packed field is unaligned
[INFO] [stdout]    --> src/fe/sys.rs:657:46
[INFO] [stdout]     |
[INFO] [stdout] 657 |                 s.field(FIELD_DATA, unsafe { &self.u.data });
[INFO] [stdout]     |                                              ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses
[INFO] [stdout]     = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced)
[INFO] [stdout]     = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0793]: reference to packed field is unaligned
[INFO] [stdout]    --> src/fe/sys.rs:661:46
[INFO] [stdout]     |
[INFO] [stdout] 661 |                 s.field(FIELD_DATA, unsafe { &self.u.data });
[INFO] [stdout]     |                                              ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses
[INFO] [stdout]     = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced)
[INFO] [stdout]     = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0793]: reference to packed field is unaligned
[INFO] [stdout]    --> src/fe/sys.rs:665:46
[INFO] [stdout]     |
[INFO] [stdout] 665 |                 s.field(FIELD_DATA, unsafe { &self.u.data });
[INFO] [stdout]     |                                              ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses
[INFO] [stdout]     = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced)
[INFO] [stdout]     = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0793]: reference to packed field is unaligned
[INFO] [stdout]    --> src/fe/sys.rs:669:46
[INFO] [stdout]     |
[INFO] [stdout] 669 |                 s.field(FIELD_DATA, unsafe { &self.u.data });
[INFO] [stdout]     |                                              ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses
[INFO] [stdout]     = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced)
[INFO] [stdout]     = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0793]: reference to packed field is unaligned
[INFO] [stdout]    --> src/fe/sys.rs:673:46
[INFO] [stdout]     |
[INFO] [stdout] 673 |                 s.field(FIELD_DATA, unsafe { &self.u.data });
[INFO] [stdout]     |                                              ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses
[INFO] [stdout]     = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced)
[INFO] [stdout]     = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ca`
[INFO] [stdout]   --> src/ca/apdu.rs:20:13
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub fn init(ca: &mut CaDevice, resource_id: u32) -> Result<u16> {
[INFO] [stdout]    |             ^^ help: if this is intentional, prefix it with an underscore: `_ca`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `resource_id`
[INFO] [stdout]   --> src/ca/apdu.rs:20:32
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub fn init(ca: &mut CaDevice, resource_id: u32) -> Result<u16> {
[INFO] [stdout]    |                                ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_resource_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ca`
[INFO] [stdout]   --> src/ca/apdu.rs:26:13
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub fn open(ca: &mut CaDevice, session_id: u16) -> Result<()> {
[INFO] [stdout]    |             ^^ help: if this is intentional, prefix it with an underscore: `_ca`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `session_id`
[INFO] [stdout]   --> src/ca/apdu.rs:26:32
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub fn open(ca: &mut CaDevice, session_id: u16) -> Result<()> {
[INFO] [stdout]    |                                ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_session_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ca`
[INFO] [stdout]   --> src/ca/apdu.rs:32:14
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub fn close(ca: &mut CaDevice, session_id: u16) -> Result<()> {
[INFO] [stdout]    |              ^^ help: if this is intentional, prefix it with an underscore: `_ca`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `session_id`
[INFO] [stdout]   --> src/ca/apdu.rs:32:33
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub fn close(ca: &mut CaDevice, session_id: u16) -> Result<()> {
[INFO] [stdout]    |                                 ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_session_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ca`
[INFO] [stdout]   --> src/ca/apdu.rs:38:15
[INFO] [stdout]    |
[INFO] [stdout] 38 | pub fn handle(ca: &mut CaDevice, session_id: u16, msg: &[u8]) -> Result<()> {
[INFO] [stdout]    |               ^^ help: if this is intentional, prefix it with an underscore: `_ca`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `session_id`
[INFO] [stdout]   --> src/ca/apdu.rs:38:34
[INFO] [stdout]    |
[INFO] [stdout] 38 | pub fn handle(ca: &mut CaDevice, session_id: u16, msg: &[u8]) -> Result<()> {
[INFO] [stdout]    |                                  ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_session_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `msg`
[INFO] [stdout]   --> src/ca/apdu.rs:38:51
[INFO] [stdout]    |
[INFO] [stdout] 38 | pub fn handle(ca: &mut CaDevice, session_id: u16, msg: &[u8]) -> Result<()> {
[INFO] [stdout]    |                                                   ^^^ help: if this is intentional, prefix it with an underscore: `_msg`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ca`
[INFO] [stdout]   --> src/ca/apdu.rs:44:15
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub fn manage(ca: &mut CaDevice, session_id: u16) -> Result<()> {
[INFO] [stdout]    |               ^^ help: if this is intentional, prefix it with an underscore: `_ca`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `session_id`
[INFO] [stdout]   --> src/ca/apdu.rs:44:34
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub fn manage(ca: &mut CaDevice, session_id: u16) -> Result<()> {
[INFO] [stdout]    |                                  ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_session_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0793]: reference to packed field is unaligned
[INFO] [stdout]    --> src/fe/mod.rs:153:33
[INFO] [stdout]     |
[INFO] [stdout] 153 |         let u_buffer = unsafe { &cmdseq[1].u.buffer };
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses
[INFO] [stdout]     = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced)
[INFO] [stdout]     = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/fe/status.rs:214:13
[INFO] [stdout]     |
[INFO] [stdout] 214 |         let mut stats = unsafe { &mut self.props[IDX_SIGNAL_STRENGTH].u.st };
[INFO] [stdout]     |             ----^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/fe/status.rs:259:13
[INFO] [stdout]     |
[INFO] [stdout] 259 |         let mut stats = unsafe { &mut self.props[IDX_SNR].u.st };
[INFO] [stdout]     |             ----^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/fe/status.rs:318:13
[INFO] [stdout]     |
[INFO] [stdout] 318 |         let mut stats = unsafe { &mut self.props[IDX_BER].u.st };
[INFO] [stdout]     |             ----^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/fe/status.rs:339:13
[INFO] [stdout]     |
[INFO] [stdout] 339 |         let mut stats = unsafe { &mut self.props[IDX_UNC].u.st };
[INFO] [stdout]     |             ----^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 11 previous errors; 15 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0793`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `libdvb` (lib) due to 12 previous errors; 15 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error[E0793]: reference to packed field is unaligned
[INFO] [stdout]    --> src/fe/sys.rs:637:46
[INFO] [stdout]     |
[INFO] [stdout] 637 |                 s.field(FIELD_DATA, unsafe { &self.u.data });
[INFO] [stdout]     |                                              ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses
[INFO] [stdout]     = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced)
[INFO] [stdout]     = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0793]: reference to packed field is unaligned
[INFO] [stdout]    --> src/fe/sys.rs:641:46
[INFO] [stdout]     |
[INFO] [stdout] 641 |                 s.field(FIELD_DATA, unsafe { &self.u.data });
[INFO] [stdout]     |                                              ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses
[INFO] [stdout]     = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced)
[INFO] [stdout]     = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0793]: reference to packed field is unaligned
[INFO] [stdout]    --> src/fe/sys.rs:645:46
[INFO] [stdout]     |
[INFO] [stdout] 645 |                 s.field(FIELD_DATA, unsafe { &self.u.data });
[INFO] [stdout]     |                                              ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses
[INFO] [stdout]     = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced)
[INFO] [stdout]     = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0793]: reference to packed field is unaligned
[INFO] [stdout]    --> src/fe/sys.rs:649:46
[INFO] [stdout]     |
[INFO] [stdout] 649 |                 s.field(FIELD_DATA, unsafe { &self.u.data });
[INFO] [stdout]     |                                              ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses
[INFO] [stdout]     = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced)
[INFO] [stdout]     = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0793]: reference to packed field is unaligned
[INFO] [stdout]    --> src/fe/sys.rs:653:46
[INFO] [stdout]     |
[INFO] [stdout] 653 |                 s.field(FIELD_DATA, unsafe { &self.u.data });
[INFO] [stdout]     |                                              ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses
[INFO] [stdout]     = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced)
[INFO] [stdout]     = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0793]: reference to packed field is unaligned
[INFO] [stdout]    --> src/fe/sys.rs:657:46
[INFO] [stdout]     |
[INFO] [stdout] 657 |                 s.field(FIELD_DATA, unsafe { &self.u.data });
[INFO] [stdout]     |                                              ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses
[INFO] [stdout]     = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced)
[INFO] [stdout]     = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0793]: reference to packed field is unaligned
[INFO] [stdout]    --> src/fe/sys.rs:661:46
[INFO] [stdout]     |
[INFO] [stdout] 661 |                 s.field(FIELD_DATA, unsafe { &self.u.data });
[INFO] [stdout]     |                                              ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses
[INFO] [stdout]     = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced)
[INFO] [stdout]     = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0793]: reference to packed field is unaligned
[INFO] [stdout]    --> src/fe/sys.rs:665:46
[INFO] [stdout]     |
[INFO] [stdout] 665 |                 s.field(FIELD_DATA, unsafe { &self.u.data });
[INFO] [stdout]     |                                              ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses
[INFO] [stdout]     = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced)
[INFO] [stdout]     = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0793]: reference to packed field is unaligned
[INFO] [stdout]    --> src/fe/sys.rs:669:46
[INFO] [stdout]     |
[INFO] [stdout] 669 |                 s.field(FIELD_DATA, unsafe { &self.u.data });
[INFO] [stdout]     |                                              ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses
[INFO] [stdout]     = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced)
[INFO] [stdout]     = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0793]: reference to packed field is unaligned
[INFO] [stdout]    --> src/fe/sys.rs:673:46
[INFO] [stdout]     |
[INFO] [stdout] 673 |                 s.field(FIELD_DATA, unsafe { &self.u.data });
[INFO] [stdout]     |                                              ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses
[INFO] [stdout]     = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced)
[INFO] [stdout]     = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0793]: reference to packed field is unaligned
[INFO] [stdout]    --> src/fe/mod.rs:153:33
[INFO] [stdout]     |
[INFO] [stdout] 153 |         let u_buffer = unsafe { &cmdseq[1].u.buffer };
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses
[INFO] [stdout]     = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced)
[INFO] [stdout]     = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 11 previous errors; 15 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0793`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `libdvb` (lib test) due to 12 previous errors; 15 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "b191db399725a05c6324e6c4012364750c9404d53426db50e6527114b636130c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b191db399725a05c6324e6c4012364750c9404d53426db50e6527114b636130c", kill_on_drop: false }`
[INFO] [stdout] b191db399725a05c6324e6c4012364750c9404d53426db50e6527114b636130c
[INFO] checking libdvb-0.3.0 against try#b4fc5dbf0bc33be331f9d893db5b3a794f29724a+rustflags=-Dexplicit_range -Dtrait_impl_range -Wrange_syntax -Wrange_bounds for pr-121251
[INFO] extracting crate libdvb 0.3.0 into /workspace/builds/worker-1-tc2/source
[INFO] validating manifest of crates.io crate libdvb 0.3.0 on toolchain b4fc5dbf0bc33be331f9d893db5b3a794f29724a
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate libdvb 0.3.0
[INFO] finished tweaking crates.io crate libdvb 0.3.0
[INFO] tweaked toml for crates.io crate libdvb 0.3.0 written to /workspace/builds/worker-1-tc2/source/Cargo.toml
[INFO] crate crates.io crate libdvb 0.3.0 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 096728de5109353a9c4b502c9c84e294eddbbc29893fa3fbe39a4b20d1b70c04
[INFO] running `Command { std: "docker" "start" "-a" "096728de5109353a9c4b502c9c84e294eddbbc29893fa3fbe39a4b20d1b70c04", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "096728de5109353a9c4b502c9c84e294eddbbc29893fa3fbe39a4b20d1b70c04", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "096728de5109353a9c4b502c9c84e294eddbbc29893fa3fbe39a4b20d1b70c04", kill_on_drop: false }`
[INFO] [stdout] 096728de5109353a9c4b502c9c84e294eddbbc29893fa3fbe39a4b20d1b70c04
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Dexplicit_range -Dtrait_impl_range -Wrange_syntax -Wrange_bounds" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 7dbf018870ce30510c9d637c93e55968f5fa1a9a7921ab845c354c6b41c727a9
[INFO] running `Command { std: "docker" "start" "-a" "7dbf018870ce30510c9d637c93e55968f5fa1a9a7921ab845c354c6b41c727a9", kill_on_drop: false }`
[INFO] [stderr]    Compiling bitflags v1.2.1
[INFO] [stderr]    Compiling libc v0.2.79
[INFO] [stderr]    Compiling anyhow v1.0.33
[INFO] [stderr]     Checking nix v0.19.1
[INFO] [stderr]     Checking libdvb v0.3.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: usage of `RangeInclusive` range syntax
[INFO] [stdout]   --> src/ca/spdu.rs:63:46
[INFO] [stdout]    |
[INFO] [stdout] 63 |     let session_id = u16::from_be_bytes(spdu[2 ..= 3].try_into().unwrap());
[INFO] [stdout]    |                                              ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: requested on the command line with `-W range-syntax`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/ca/spdu.rs:64:40
[INFO] [stdout]    |
[INFO] [stdout] 64 |     apdu::handle(ca, session_id, &spdu[SPDU_HEADER_SIZE ..])
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeInclusive` range syntax
[INFO] [stdout]   --> src/ca/spdu.rs:71:47
[INFO] [stdout]    |
[INFO] [stdout] 71 |     let resource_id = u32::from_be_bytes(spdu[2 ..= 5].try_into().unwrap());
[INFO] [stdout]    |                                               ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeInclusive` range syntax
[INFO] [stdout]   --> src/ca/spdu.rs:93:46
[INFO] [stdout]    |
[INFO] [stdout] 93 |     let session_id = u16::from_be_bytes(spdu[2 ..= 3].try_into().unwrap());
[INFO] [stdout]    |                                              ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeInclusive` range syntax
[INFO] [stdout]    --> src/ca/spdu.rs:111:46
[INFO] [stdout]     |
[INFO] [stdout] 111 |     let session_id = u16::from_be_bytes(spdu[7 ..= 8].try_into().unwrap());
[INFO] [stdout]     |                                              ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeInclusive` range syntax
[INFO] [stdout]    --> src/ca/spdu.rs:125:46
[INFO] [stdout]     |
[INFO] [stdout] 125 |     let session_id = u16::from_be_bytes(spdu[3 ..= 4].try_into().unwrap());
[INFO] [stdout]     |                                              ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/ca/mod.rs:119:18
[INFO] [stdout]     |
[INFO] [stdout] 119 |         for _ in 0 .. 5 {
[INFO] [stdout]     |                  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/fe/status.rs:216:18
[INFO] [stdout]     |
[INFO] [stdout] 216 |         for i in usize::from(stats.len) .. 2 {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/fe/status.rs:261:18
[INFO] [stdout]     |
[INFO] [stdout] 261 |         for i in usize::from(stats.len) .. 2 {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/fe/sys.rs:488:42
[INFO] [stdout]     |
[INFO] [stdout] 488 |         f.debug_list().entries(self.stat[0 .. len].iter()).finish()
[INFO] [stdout]     |                                          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/fe/mod.rs:109:18
[INFO] [stdout]     |
[INFO] [stdout] 109 |         for _ in 0 .. FE_MAX_EVENT {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/fe/mod.rs:134:32
[INFO] [stdout]     |
[INFO] [stdout] 134 |         self.frequency_range = feinfo.frequency_min .. feinfo.frequency_max;
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/fe/mod.rs:135:33
[INFO] [stdout]     |
[INFO] [stdout] 135 |         self.symbolrate_range = feinfo.symbol_rate_min .. feinfo.symbol_rate_max;
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/fe/mod.rs:190:30
[INFO] [stdout]     |
[INFO] [stdout] 190 |             frequency_range: 0 .. 0,
[INFO] [stdout]     |                              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/fe/mod.rs:191:31
[INFO] [stdout]     |
[INFO] [stdout] 191 |             symbolrate_range: 0 .. 0,
[INFO] [stdout]     |                               ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/fe/mod.rs:478:17
[INFO] [stdout]     |
[INFO] [stdout] 478 |         cmd.msg[0 .. msg.len()].copy_from_slice(msg);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeInclusive` range syntax
[INFO] [stdout]   --> src/ca/spdu.rs:63:46
[INFO] [stdout]    |
[INFO] [stdout] 63 |     let session_id = u16::from_be_bytes(spdu[2 ..= 3].try_into().unwrap());
[INFO] [stdout]    |                                              ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: requested on the command line with `-W range-syntax`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/ca/spdu.rs:64:40
[INFO] [stdout]    |
[INFO] [stdout] 64 |     apdu::handle(ca, session_id, &spdu[SPDU_HEADER_SIZE ..])
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeInclusive` range syntax
[INFO] [stdout]   --> src/ca/spdu.rs:71:47
[INFO] [stdout]    |
[INFO] [stdout] 71 |     let resource_id = u32::from_be_bytes(spdu[2 ..= 5].try_into().unwrap());
[INFO] [stdout]    |                                               ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeInclusive` range syntax
[INFO] [stdout]   --> src/ca/spdu.rs:93:46
[INFO] [stdout]    |
[INFO] [stdout] 93 |     let session_id = u16::from_be_bytes(spdu[2 ..= 3].try_into().unwrap());
[INFO] [stdout]    |                                              ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeInclusive` range syntax
[INFO] [stdout]    --> src/ca/spdu.rs:111:46
[INFO] [stdout]     |
[INFO] [stdout] 111 |     let session_id = u16::from_be_bytes(spdu[7 ..= 8].try_into().unwrap());
[INFO] [stdout]     |                                              ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeInclusive` range syntax
[INFO] [stdout]    --> src/ca/spdu.rs:125:46
[INFO] [stdout]     |
[INFO] [stdout] 125 |     let session_id = u16::from_be_bytes(spdu[3 ..= 4].try_into().unwrap());
[INFO] [stdout]     |                                              ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/ca/mod.rs:119:18
[INFO] [stdout]     |
[INFO] [stdout] 119 |         for _ in 0 .. 5 {
[INFO] [stdout]     |                  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/fe/status.rs:216:18
[INFO] [stdout]     |
[INFO] [stdout] 216 |         for i in usize::from(stats.len) .. 2 {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/fe/status.rs:261:18
[INFO] [stdout]     |
[INFO] [stdout] 261 |         for i in usize::from(stats.len) .. 2 {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/fe/sys.rs:488:42
[INFO] [stdout]     |
[INFO] [stdout] 488 |         f.debug_list().entries(self.stat[0 .. len].iter()).finish()
[INFO] [stdout]     |                                          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/fe/mod.rs:109:18
[INFO] [stdout]     |
[INFO] [stdout] 109 |         for _ in 0 .. FE_MAX_EVENT {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/fe/mod.rs:134:32
[INFO] [stdout]     |
[INFO] [stdout] 134 |         self.frequency_range = feinfo.frequency_min .. feinfo.frequency_max;
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/fe/mod.rs:135:33
[INFO] [stdout]     |
[INFO] [stdout] 135 |         self.symbolrate_range = feinfo.symbol_rate_min .. feinfo.symbol_rate_max;
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/fe/mod.rs:190:30
[INFO] [stdout]     |
[INFO] [stdout] 190 |             frequency_range: 0 .. 0,
[INFO] [stdout]     |                              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/fe/mod.rs:191:31
[INFO] [stdout]     |
[INFO] [stdout] 191 |             symbolrate_range: 0 .. 0,
[INFO] [stdout]     |                               ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/fe/mod.rs:478:17
[INFO] [stdout]     |
[INFO] [stdout] 478 |         cmd.msg[0 .. msg.len()].copy_from_slice(msg);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ca`
[INFO] [stdout]   --> src/ca/apdu.rs:20:13
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub fn init(ca: &mut CaDevice, resource_id: u32) -> Result<u16> {
[INFO] [stdout]    |             ^^ help: if this is intentional, prefix it with an underscore: `_ca`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `resource_id`
[INFO] [stdout]   --> src/ca/apdu.rs:20:32
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub fn init(ca: &mut CaDevice, resource_id: u32) -> Result<u16> {
[INFO] [stdout]    |                                ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_resource_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ca`
[INFO] [stdout]   --> src/ca/apdu.rs:26:13
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub fn open(ca: &mut CaDevice, session_id: u16) -> Result<()> {
[INFO] [stdout]    |             ^^ help: if this is intentional, prefix it with an underscore: `_ca`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `session_id`
[INFO] [stdout]   --> src/ca/apdu.rs:26:32
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub fn open(ca: &mut CaDevice, session_id: u16) -> Result<()> {
[INFO] [stdout]    |                                ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_session_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ca`
[INFO] [stdout]   --> src/ca/apdu.rs:32:14
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub fn close(ca: &mut CaDevice, session_id: u16) -> Result<()> {
[INFO] [stdout]    |              ^^ help: if this is intentional, prefix it with an underscore: `_ca`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `session_id`
[INFO] [stdout]   --> src/ca/apdu.rs:32:33
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub fn close(ca: &mut CaDevice, session_id: u16) -> Result<()> {
[INFO] [stdout]    |                                 ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_session_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ca`
[INFO] [stdout]   --> src/ca/apdu.rs:38:15
[INFO] [stdout]    |
[INFO] [stdout] 38 | pub fn handle(ca: &mut CaDevice, session_id: u16, msg: &[u8]) -> Result<()> {
[INFO] [stdout]    |               ^^ help: if this is intentional, prefix it with an underscore: `_ca`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `session_id`
[INFO] [stdout]   --> src/ca/apdu.rs:38:34
[INFO] [stdout]    |
[INFO] [stdout] 38 | pub fn handle(ca: &mut CaDevice, session_id: u16, msg: &[u8]) -> Result<()> {
[INFO] [stdout]    |                                  ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_session_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `msg`
[INFO] [stdout]   --> src/ca/apdu.rs:38:51
[INFO] [stdout]    |
[INFO] [stdout] 38 | pub fn handle(ca: &mut CaDevice, session_id: u16, msg: &[u8]) -> Result<()> {
[INFO] [stdout]    |                                                   ^^^ help: if this is intentional, prefix it with an underscore: `_msg`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ca`
[INFO] [stdout]   --> src/ca/apdu.rs:44:15
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub fn manage(ca: &mut CaDevice, session_id: u16) -> Result<()> {
[INFO] [stdout]    |               ^^ help: if this is intentional, prefix it with an underscore: `_ca`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `session_id`
[INFO] [stdout]   --> src/ca/apdu.rs:44:34
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub fn manage(ca: &mut CaDevice, session_id: u16) -> Result<()> {
[INFO] [stdout]    |                                  ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_session_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/fe/status.rs:214:13
[INFO] [stdout]     |
[INFO] [stdout] 214 |         let mut stats = unsafe { &mut self.props[IDX_SIGNAL_STRENGTH].u.st };
[INFO] [stdout]     |             ----^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/fe/status.rs:259:13
[INFO] [stdout]     |
[INFO] [stdout] 259 |         let mut stats = unsafe { &mut self.props[IDX_SNR].u.st };
[INFO] [stdout]     |             ----^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/fe/status.rs:318:13
[INFO] [stdout]     |
[INFO] [stdout] 318 |         let mut stats = unsafe { &mut self.props[IDX_BER].u.st };
[INFO] [stdout]     |             ----^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/fe/status.rs:339:13
[INFO] [stdout]     |
[INFO] [stdout] 339 |         let mut stats = unsafe { &mut self.props[IDX_UNC].u.st };
[INFO] [stdout]     |             ----^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0793]: reference to packed field is unaligned
[INFO] [stdout]    --> src/fe/sys.rs:637:46
[INFO] [stdout]     |
[INFO] [stdout] 637 |                 s.field(FIELD_DATA, unsafe { &self.u.data });
[INFO] [stdout]     |                                              ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses
[INFO] [stdout]     = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced)
[INFO] [stdout]     = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0793]: reference to packed field is unaligned
[INFO] [stdout]    --> src/fe/sys.rs:641:46
[INFO] [stdout]     |
[INFO] [stdout] 641 |                 s.field(FIELD_DATA, unsafe { &self.u.data });
[INFO] [stdout]     |                                              ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses
[INFO] [stdout]     = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced)
[INFO] [stdout]     = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0793]: reference to packed field is unaligned
[INFO] [stdout]    --> src/fe/sys.rs:645:46
[INFO] [stdout]     |
[INFO] [stdout] 645 |                 s.field(FIELD_DATA, unsafe { &self.u.data });
[INFO] [stdout]     |                                              ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses
[INFO] [stdout]     = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced)
[INFO] [stdout]     = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0793]: reference to packed field is unaligned
[INFO] [stdout]    --> src/fe/sys.rs:649:46
[INFO] [stdout]     |
[INFO] [stdout] 649 |                 s.field(FIELD_DATA, unsafe { &self.u.data });
[INFO] [stdout]     |                                              ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses
[INFO] [stdout]     = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced)
[INFO] [stdout]     = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0793]: reference to packed field is unaligned
[INFO] [stdout]    --> src/fe/sys.rs:653:46
[INFO] [stdout]     |
[INFO] [stdout] 653 |                 s.field(FIELD_DATA, unsafe { &self.u.data });
[INFO] [stdout]     |                                              ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses
[INFO] [stdout]     = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced)
[INFO] [stdout]     = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0793]: reference to packed field is unaligned
[INFO] [stdout]    --> src/fe/sys.rs:657:46
[INFO] [stdout]     |
[INFO] [stdout] 657 |                 s.field(FIELD_DATA, unsafe { &self.u.data });
[INFO] [stdout]     |                                              ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses
[INFO] [stdout]     = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced)
[INFO] [stdout]     = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0793]: reference to packed field is unaligned
[INFO] [stdout]    --> src/fe/sys.rs:661:46
[INFO] [stdout]     |
[INFO] [stdout] 661 |                 s.field(FIELD_DATA, unsafe { &self.u.data });
[INFO] [stdout]     |                                              ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses
[INFO] [stdout]     = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced)
[INFO] [stdout]     = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0793]: reference to packed field is unaligned
[INFO] [stdout]    --> src/fe/sys.rs:665:46
[INFO] [stdout]     |
[INFO] [stdout] 665 |                 s.field(FIELD_DATA, unsafe { &self.u.data });
[INFO] [stdout]     |                                              ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses
[INFO] [stdout]     = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced)
[INFO] [stdout]     = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0793]: reference to packed field is unaligned
[INFO] [stdout]    --> src/fe/sys.rs:669:46
[INFO] [stdout]     |
[INFO] [stdout] 669 |                 s.field(FIELD_DATA, unsafe { &self.u.data });
[INFO] [stdout]     |                                              ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses
[INFO] [stdout]     = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced)
[INFO] [stdout]     = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0793]: reference to packed field is unaligned
[INFO] [stdout]    --> src/fe/sys.rs:673:46
[INFO] [stdout]     |
[INFO] [stdout] 673 |                 s.field(FIELD_DATA, unsafe { &self.u.data });
[INFO] [stdout]     |                                              ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses
[INFO] [stdout]     = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced)
[INFO] [stdout]     = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0793]: reference to packed field is unaligned
[INFO] [stdout]    --> src/fe/mod.rs:153:33
[INFO] [stdout]     |
[INFO] [stdout] 153 |         let u_buffer = unsafe { &cmdseq[1].u.buffer };
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses
[INFO] [stdout]     = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced)
[INFO] [stdout]     = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ca`
[INFO] [stdout]   --> src/ca/apdu.rs:20:13
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub fn init(ca: &mut CaDevice, resource_id: u32) -> Result<u16> {
[INFO] [stdout]    |             ^^ help: if this is intentional, prefix it with an underscore: `_ca`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `resource_id`
[INFO] [stdout]   --> src/ca/apdu.rs:20:32
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub fn init(ca: &mut CaDevice, resource_id: u32) -> Result<u16> {
[INFO] [stdout]    |                                ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_resource_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ca`
[INFO] [stdout]   --> src/ca/apdu.rs:26:13
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub fn open(ca: &mut CaDevice, session_id: u16) -> Result<()> {
[INFO] [stdout]    |             ^^ help: if this is intentional, prefix it with an underscore: `_ca`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `session_id`
[INFO] [stdout]   --> src/ca/apdu.rs:26:32
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub fn open(ca: &mut CaDevice, session_id: u16) -> Result<()> {
[INFO] [stdout]    |                                ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_session_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ca`
[INFO] [stdout]   --> src/ca/apdu.rs:32:14
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub fn close(ca: &mut CaDevice, session_id: u16) -> Result<()> {
[INFO] [stdout]    |              ^^ help: if this is intentional, prefix it with an underscore: `_ca`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `session_id`
[INFO] [stdout]   --> src/ca/apdu.rs:32:33
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub fn close(ca: &mut CaDevice, session_id: u16) -> Result<()> {
[INFO] [stdout]    |                                 ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_session_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ca`
[INFO] [stdout]   --> src/ca/apdu.rs:38:15
[INFO] [stdout]    |
[INFO] [stdout] 38 | pub fn handle(ca: &mut CaDevice, session_id: u16, msg: &[u8]) -> Result<()> {
[INFO] [stdout]    |               ^^ help: if this is intentional, prefix it with an underscore: `_ca`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `session_id`
[INFO] [stdout]   --> src/ca/apdu.rs:38:34
[INFO] [stdout]    |
[INFO] [stdout] 38 | pub fn handle(ca: &mut CaDevice, session_id: u16, msg: &[u8]) -> Result<()> {
[INFO] [stdout]    |                                  ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_session_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `msg`
[INFO] [stdout]   --> src/ca/apdu.rs:38:51
[INFO] [stdout]    |
[INFO] [stdout] 38 | pub fn handle(ca: &mut CaDevice, session_id: u16, msg: &[u8]) -> Result<()> {
[INFO] [stdout]    |                                                   ^^^ help: if this is intentional, prefix it with an underscore: `_msg`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ca`
[INFO] [stdout]   --> src/ca/apdu.rs:44:15
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub fn manage(ca: &mut CaDevice, session_id: u16) -> Result<()> {
[INFO] [stdout]    |               ^^ help: if this is intentional, prefix it with an underscore: `_ca`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `session_id`
[INFO] [stdout]   --> src/ca/apdu.rs:44:34
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub fn manage(ca: &mut CaDevice, session_id: u16) -> Result<()> {
[INFO] [stdout]    |                                  ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_session_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/fe/status.rs:214:13
[INFO] [stdout]     |
[INFO] [stdout] 214 |         let mut stats = unsafe { &mut self.props[IDX_SIGNAL_STRENGTH].u.st };
[INFO] [stdout]     |             ----^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/fe/status.rs:259:13
[INFO] [stdout]     |
[INFO] [stdout] 259 |         let mut stats = unsafe { &mut self.props[IDX_SNR].u.st };
[INFO] [stdout]     |             ----^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 11 previous errors; 31 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0793`.
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/fe/status.rs:318:13
[INFO] [stdout]     |
[INFO] [stdout] 318 |         let mut stats = unsafe { &mut self.props[IDX_BER].u.st };
[INFO] [stdout]     |             ----^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/fe/status.rs:339:13
[INFO] [stdout]     |
[INFO] [stdout] 339 |         let mut stats = unsafe { &mut self.props[IDX_UNC].u.st };
[INFO] [stdout]     |             ----^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `libdvb` (lib test) due to 12 previous errors; 31 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error[E0793]: reference to packed field is unaligned
[INFO] [stdout]    --> src/fe/sys.rs:637:46
[INFO] [stdout]     |
[INFO] [stdout] 637 |                 s.field(FIELD_DATA, unsafe { &self.u.data });
[INFO] [stdout]     |                                              ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses
[INFO] [stdout]     = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced)
[INFO] [stdout]     = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0793]: reference to packed field is unaligned
[INFO] [stdout]    --> src/fe/sys.rs:641:46
[INFO] [stdout]     |
[INFO] [stdout] 641 |                 s.field(FIELD_DATA, unsafe { &self.u.data });
[INFO] [stdout]     |                                              ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses
[INFO] [stdout]     = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced)
[INFO] [stdout]     = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0793]: reference to packed field is unaligned
[INFO] [stdout]    --> src/fe/sys.rs:645:46
[INFO] [stdout]     |
[INFO] [stdout] 645 |                 s.field(FIELD_DATA, unsafe { &self.u.data });
[INFO] [stdout]     |                                              ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses
[INFO] [stdout]     = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced)
[INFO] [stdout]     = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0793]: reference to packed field is unaligned
[INFO] [stdout]    --> src/fe/sys.rs:649:46
[INFO] [stdout]     |
[INFO] [stdout] 649 |                 s.field(FIELD_DATA, unsafe { &self.u.data });
[INFO] [stdout]     |                                              ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses
[INFO] [stdout]     = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced)
[INFO] [stdout]     = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0793]: reference to packed field is unaligned
[INFO] [stdout]    --> src/fe/sys.rs:653:46
[INFO] [stdout]     |
[INFO] [stdout] 653 |                 s.field(FIELD_DATA, unsafe { &self.u.data });
[INFO] [stdout]     |                                              ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses
[INFO] [stdout]     = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced)
[INFO] [stdout]     = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0793]: reference to packed field is unaligned
[INFO] [stdout]    --> src/fe/sys.rs:657:46
[INFO] [stdout]     |
[INFO] [stdout] 657 |                 s.field(FIELD_DATA, unsafe { &self.u.data });
[INFO] [stdout]     |                                              ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses
[INFO] [stdout]     = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced)
[INFO] [stdout]     = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0793]: reference to packed field is unaligned
[INFO] [stdout]    --> src/fe/sys.rs:661:46
[INFO] [stdout]     |
[INFO] [stdout] 661 |                 s.field(FIELD_DATA, unsafe { &self.u.data });
[INFO] [stdout]     |                                              ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses
[INFO] [stdout]     = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced)
[INFO] [stdout]     = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0793]: reference to packed field is unaligned
[INFO] [stdout]    --> src/fe/sys.rs:665:46
[INFO] [stdout]     |
[INFO] [stdout] 665 |                 s.field(FIELD_DATA, unsafe { &self.u.data });
[INFO] [stdout]     |                                              ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses
[INFO] [stdout]     = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced)
[INFO] [stdout]     = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0793]: reference to packed field is unaligned
[INFO] [stdout]    --> src/fe/sys.rs:669:46
[INFO] [stdout]     |
[INFO] [stdout] 669 |                 s.field(FIELD_DATA, unsafe { &self.u.data });
[INFO] [stdout]     |                                              ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses
[INFO] [stdout]     = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced)
[INFO] [stdout]     = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0793]: reference to packed field is unaligned
[INFO] [stdout]    --> src/fe/sys.rs:673:46
[INFO] [stdout]     |
[INFO] [stdout] 673 |                 s.field(FIELD_DATA, unsafe { &self.u.data });
[INFO] [stdout]     |                                              ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses
[INFO] [stdout]     = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced)
[INFO] [stdout]     = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0793]: reference to packed field is unaligned
[INFO] [stdout]    --> src/fe/mod.rs:153:33
[INFO] [stdout]     |
[INFO] [stdout] 153 |         let u_buffer = unsafe { &cmdseq[1].u.buffer };
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses
[INFO] [stdout]     = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced)
[INFO] [stdout]     = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 11 previous errors; 31 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0793`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `libdvb` (lib) due to 12 previous errors; 31 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "7dbf018870ce30510c9d637c93e55968f5fa1a9a7921ab845c354c6b41c727a9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7dbf018870ce30510c9d637c93e55968f5fa1a9a7921ab845c354c6b41c727a9", kill_on_drop: false }`
[INFO] [stdout] 7dbf018870ce30510c9d637c93e55968f5fa1a9a7921ab845c354c6b41c727a9
